﻿using System;

using System.Collections.Generic;
using System.Text;

namespace Silvermoon.Controls
{

    /// <summary>
    /// Abstract control that receives events from <see cref="MessageEngine"/>.
    /// </summary>
    public abstract class EventControl:Control,IMouseEventBehavior
    {
        #region IEventBehavior Members

        public virtual void OnMouseDown(MouseDownEventArgs e)
        {
          
        }

        public virtual void OnMouseUp(MouseUpEventArgs e)
        {
        }

        public virtual void OnMouseClick(MouseClickEventArgs e)
        {
        }

        public virtual void OnMouseMove(MouseMoveEventArgs e)
        {
        }


        public virtual void OnGotFocus()
        {
            IsFocused = true;
        }

        public virtual void OnLostFocus()
        {
            IsFocused = false;
        }

        public bool IsFocused { get; private set; }

        #endregion

    }
}
